It is often necessary for mobile devices, such as cellular phones that make use of a Global System for Mobile Communications (GSM) cellular network, to send periodic status messages from the mobile devices to an application server residing on the network side. The transport mechanism used for these types of messages when conversing with an application gateway is often SMS or USSD. The messages being sent by the mobile device can be varying sizes and convey status of the mobile device or use of previous operations. When a large number of mobile devices are located within a certain geographical region, congestion of the wireless network can result from a large number of mobile devices simultaneously attempting to utilize network resources to transmit status messages.
There have been various studies that calculate the theoretical maximum number of messages (e.g., SMS messages) that are sustainable across a large geographical region, such as Metropolitan New York or Washington D.C. or the like. However, the estimations used in these studies are based on cellular subscribers being randomly dispersed across the entire region, and not having large concentration of subscribers and mobile devices within a particular cell site, all wanting to send status messages back to an application server at substantially the same time. This concentrated use case can result where there is a large customer base residing in a certain area (e.g., university housing) or when there are suddenly a larger than normal number of mobile devices in a concentrated area (e.g., Times Square in New York City on New Year's Eve). In such cases, the cell tower, or a collection of towers around the subscriber base, could be overwhelmed by the sheer number of status messages being sent out by the subscribers' mobile devices, thereby resulting in outages introduced to messaging services (e.g., SMS or USSD) from such contention and/or also having the performance of voice services severely degraded.
For example, should SMS be the transport deployed for GSM communications, the mobile devices would attempt to send one or more Mobile Originated (MO) SMS message(s) to the back-end application gateway. The MO SMS message could be resident in the device or be part of a programmable application that is loaded onto the device. For devices to programmatically initiate sending a message, the message would need to be spread out in time between one device and another. It is also not typically known when a collection of devices would reside in the same geographic area, thereby causing contention, or even bringing down cellular services in the serving cell, should they not have a random way of sending such messages. It is also difficult to ascertain the location of mobile subscribers' proximity to each other while scheduling such messages from within the clients. While one may be inclined to state that mobile subscribers camped on a certain cell are scheduled to a different hour, the mobile subscriber(s) could move to cells with lower capacity, and such messages could overwhelm the particular cell site.
The contention as stated above could result in a variety of unpleasant behavior, from SMS messages being dropped, no in-bound/out-bound calls permitted from within that cell, or trigger national security alerts from carrier's networks that find it as a denial of service attack originating from a group of mobile subscribers.
The following description provides a brief background of GSM telephony, that includes some description of the various signaling mechanisms used for various call and data related activity. The GSM standard consists of logical channels that are mapped to a single physical channel. The definitions of the various logical channels for the GSM standard are set forth as follows. The logical channels include traffic channels and control channels. Traffic Channels (TCH) are used to carry encoded speech or user data in a circuit switched mode, and TCH can be either half rate or full rate depending on the type of encoding used for speech data. Control channels are used to carry signaling or synchronization data. The following control channels exist for voice and data:
BCCH: Broadcast Control Channel. This channel is a one-to-many unidirectional control channel used to broadcast Base Station specific information for Mobile Subscribers for calibration purposes/informative purposes.
CCCH: Common Control Channel. This is a point to multipoint bi-directional control channel used for access management. The CCCH further comprises the following channels: (i) Downlink Paging Channel (PCH) to page the Mobile Subscriber; (ii) Random Access Channel (RACH) to request assignment of a DCCH; and (iii) Access Grant Channel (AGCH) used to assign a Mobile Subscriber a specific DCCH.
DCCH: Dedicated Control Channel. The DCCH is a point to point directional control channel. The DCCH further comprises the following channels: (i) Stand Alone Dedicated Control Channel (SDCCH) used for setting up a voice call, prior to the Mobile subscriber being assigned a TCH (traffic channel), and also used for sending Mobile Originated SMS messages, routing area updates, and other requests initiated by the Mobile Subscriber to the base station; and (ii) an Associated Control Channel (ACCH).
In order for a mobile subscriber to initiate a voice call using GSM, or SMS message outside of a voice call, the mobile subscriber makes the authentication, ciphering, and establishment requests over the SDCCH. The SDCCH is acquired by the MS sending a paging request over the RACH. The Base Station Controller (BSC) allots a SDCCH over the Access Grant Channel (AGCH). The Mobile Subscriber uses the allotted SDCCH for all further setup and transfer.
The following call flow occurs for all messages between the handset and the Base Station Controller (BSC) during a Mobile Originated SMS message outside of a voice call based upon the GSM specification, as illustrated in FIG. 1, which is taken from Figure F1/GSM-04.11 of the GSM Standard. The Mobile Subscriber (MS) makes a channel request over the RACH. The BSC assigns a SDCCH to the MS over the AGCH. The MS then performs authentication and selects a cipher mode. The MS then initiates SAPI 3 establishment by a SABM command on the SDCCH. The SAPI 3 link stays active until the last CP ACK is received by the Mobile Switching Center (MSC). The MSC then sends a Clear Command to the BSC, which in turn issues a channel release to the MS. The MS goes on to release the SDCCH channel that was allocated for the short message transfer.
The voice call establishment procedure in GSM follows a very similar route till the cipher mode is selected. At that point onwards, the MS is assigned a TCH (Traffic Channel), a FACH (Fast Associated Control channel), and a SACCH (Slow Associated Control Channel). The MS then releases the SDCCH. It is evident from above that in order to sufficiently have peak network performance the GSM subsystem must carefully arbitrate the number of SDCCH requests being made at any given second. Should a number of mobile subscribers attempt to simultaneously send SMS messages, outside of a call, or attempt to make calls the number of SDCCH channels available will be depleted. In addition, the number of SDCCH channels available is limited by the TRX configuration within a cell site, and is governed by how they are configured by service providers.
In order to obtain a SDCCH, the cell phone must ask a cell for a channel assignment. This is done by sending an access burst on the RACH. However, if a large number of users attempt to simultaneously perform this request, the performance degrades significantly.
While there are operator or server originated throttling mechanisms that exist to throttle down mobile terminated messages that arrive at mobile terminals, there are no throttling down mechanisms at the network or the handset that prevent the reverse problem of throttling down mobile device originated messages that can result in message congestion and degradation of the performance of the wireless network.
Furthermore, the process of initiating a message transfer at an application server as an operator/server originated throttling mechanism has its drawbacks as the application server is not aware when the mobile terminal is powered on or registered to the network. Should the mobile terminal be switched off or otherwise not registered to the network, the initiated message could expire and become discarded, causing further expenses and resources to resend such messages. Additionally, this process involves at least 2 messages for each transaction, as the application server initiates the request, and the mobile terminal responds to the request. Still further, in a GSM system, the act of sending an messages outside of a voice call actually takes away the ability to initiate a voice call for a different user at the same instant of time, thereby reducing the capacity that a network can support.